آموزش برنامه نویسی در استریسک به زبان DIAL PLAN نویسنده: مسعود حیدری

Similar documents
چطنانذازهذيريتدولتي هذلرياضيبودجهريسيدربخصعووهي:رويكردبهينهسازياستوار

تزرسی اثز فشای د عاهل سا پذیزی تز قدرت ت ضیحد دگی هدل س عاهلی فاها فز چ در ت رط ا راق ت ادار ت زاى

آض ا ضذیذ. واىط س و روش ضذ پش س ی تؼشیف هجذد تا ولو یولیذی پاساهتش ای آى سا هطاتك تا

عوامل اجتماعی مؤثر بر گرایش به سساریه درزوان باردار

طراحی سیستم فازی برای تشخیص بیماریهای ریوی بر اساس تنفسسنجی

تعویرمار عو هی رایا ای ضخصی

حرکت فلکشه مفصل آروج با ورمافزار ADAMS

خ آبیص ت ز ػ ای اص پاسا تش ا و مادیش آ ا تشای ح ض سد ظش ؼثتا حاتت ت د ایا ش ضؼیت

دا طد ی وبسض بسی اسضذ سضت ذیشیت ثبصس ب ی دا ط ب ػ تحمیمبت احذ بص ذسا

دیدگاه دانشجویان بهداشت عمومی دانشگاه علوم پزشکی کردستان در مورد رشته تحصیلی و آینده شغلی و عوامل مرتبط با آن سال 1393

روش های پرداخت. International Terms of Payment

آموزش تست نفوذ مدرس : آقای امینی

CURRICULUM VITAE ALI SABETIPOOR

پروژه سری درس برنامه نویسی شیءگرا موعد ارسال: 71 آذر 7319 ػلیشضا هظل هی - کاهیاس الل سدی

س دآيری باسار س ام در اقتصاد ایزان

راهنمای سامانه درخواست برگ پرداخت بیمه شدگان خاص از طریق خدمات غیر حضوری )اینترنتی( اسفند ماه 24:3

سازمان بنادر و دریانوردی - اردیبهشت 1397

A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Arts in English Translation Studies

بیماری پیچیدگي برگ هلو

IELTS Writing. HIRAD Specialized Language Center

Oil Sector Investment and Iranian Economic Development

هطالعه هوگروهی اصفهاى راهنوا. Administrative Study Guide (protocol) گارش: دوسش ح ذ عالیی یشایؾ ػ : فش سدی 1391

ماهنامه علمی پژوهشی مهندسی مکانیک مدرس. mme.modares.ac.ir

اط ا چگ هؼ ه د ذ ت هؼشف س ىشد خذ ذ دس تاب مؾ اط ا د گش احذ ا صتا دس

سؤاالت چهار گزینهای آزمون سال 29

واسگا آه صضی - خستد ی اختشاػات ثثت ضذ تیي الوللی آض ایی تا پایگا Orbit ح خستد دس هشوض سضذ احذ ای ف ا سی دا طگا واضاى

راهنمای. Internet Connection Sharing. راىنمایSharing Internet Connection تاریخ تنظیم : خرداد 5931 گروه شرکتى یا شاتل

فیلم نانوورقهای گرافنی به روش رسوب پالسمای الکترولیتی

ن ن ار ن ل ا ة ل ا س ر ة رع م ا ءا ل ع ل ا ة أ ن ل

ة ة ف ف ي ف ل ف ن ا م ا

ظزی ک تزل اجتواعی تا گا ت آیات قزآى ر ایات تا تأکیذ تز تعا ى حوایت

DU Meter. راىنمای تنظیمات نرم افسار DU Meter تاریخ تنظیم : آذر 9313 گر ه شرکتى یا

تطبیق صور خیال در اشعار جان دان و صائب

تست خمش س وقط ای يزق ساوديیچی فلصی ي کامپ شیتی تا ست مشثک

ماهنامه علمی پژوهشی مهندسی مکانیک مدرس. mme.modares.ac.ir

بسن اهلل الرحوي الرحین

ف آ سی ای تجاست الکتش یک هثادل الکتش یکی داد ا

آموزش اندروید مدرس : خانم مقاری

بررسی علل اشتباهات دارویی و عوامل مؤثر بر عدم گسارشدهی آنها از دیدگاه کارکنان پرستاری بیمارستانهای وابسته به دانشکده علوم پسشکی نیشابور

الگ بی طراحی ز را فبد ست غسال حبئری

مروری بر مذیریت تراکنصها در پایگاه داده سیار

مبادالت پیمانکاری فرعی SPX

راهنمای نصب مودم Dlink 2730U

ABSTRACT The Title: The contribution of the Endowment in supporting the Scientific an Educational Foundations in Makkah Al-Mukarram during Othmani

Sarf: 16 th March 2014

تررسی ف ی التصادی ترا سف رهات ر ای ر غي هؼذ ی استر در پست ای ش ری چ اض ی و فطا ؽ تی ا ی تطا ؿف ض ات ض 1396 پست ای ش ری

ITA AT: TO OBEY HIM WITHOUT QUESTION

Welcome to ALI 440: Topical Tafsir of Quran Family Relationships

اثرات مخرب هارمىنیکها در صنعت و روش های مقابله با آن. ارائه : محسن تابش مشاور بهینه سازی مصرف انرژی و کیفیت توان

Contents. Transliteration Key إ أ) ء (a slight catch in the breath) غ gh (similar to French r)

Our bodies & health is a trust & gift from Allah, therefore we must use it responsibly, not waste it, and maximise its benefit. Muslims/Asians are

تبریخ دریبفت: 1397/03/09 تبریخ پذیزش: 1397/06/17 1. IJOGI, Vol. 21, pp , Sep 2018 و یسىذ مسئ ل مکبتببت: پست الکتزيویك: تلفه:


Downloaded from mme.modares.ac.ir at 9:52 IRDT on Saturday August 18th 2018

توزیع فصلی آلودگی نفتی ناشی از قایقها با موتور دوزمانه بنسینی در سواحل جنوبی ایران

Race to Jannah - 6 Group E: Surah Taha

ای ه اج با عدم قطعيت علوی در اصل احتياطی از ه ظر حق ق بيي الولل هحيط زيست

پژ ص ای هذیزیت عو هی سال ن ضوار سی چ ارم سهستاى 1335 تاریخ دریافت: 35/3/6 تاریخ پذیزش: 35/8/3

نااطمینانی تورمی و رشد اقتصادی در ایران

اثربخشی آموزش مهارتهای اجتماعی بر بهبود رابطه معلم شاگرد و عملکرد تحصیلی دانشآموزان شهر تهران 1

In that context it is a contraction of the phase. adda wah ilallaah

Revealed in Mecca. Consist of 34 verses LESSONS FROM LUQMAN. Br. Wael Ibrahim. How can we implement the lessons in our daily lives?

ISTIGHFAAR Combined with The 99 Names of Allah

سازمان فن آوری اطالعات و ارتباطات شهرداری اصفهان موضوع: هوش تجاری. Business Intelligence ارائه دهنده : واحد پايگاه داده تابستان 90 1 از 32

سال یازدهم شماره چهلودوم پاییز 6931 / 561 فصلنامه حقوق پزشكی

ALI 256: Spiritual and Jurisprudential aspects Salaat

ALI 340: Elements of Effective Communication Session Six

The Virtues of Surah An-Nasr

In the Name of Allah, the Most Gracious, the Most Merciful.

مهندسیبرق مکانیکومکاترونیک 3 rd National and First International Conference in applied research on Electrical, Mechanical and Mechatronics Engineering

Rabi`ul Awwal 13, 1439 H Fatah 2, 1396 HS December 2, 2017 CE

ا ح د أ ز ح ا س اح ني ح ث ع ا ت س اح ث ا بس أ ج ع ني, أ ال إ إ ال ا و ح د ال ش س ه ا ه ا ح ك ا ج ني و أ ش ه د أ س د ب

In the Name of Allah, the Most Gracious, the Most Merciful.

To overall look of Internet Explorer. Tools menu. - General - Security - Privacy - Content - Connection - Programs - Advanced.

Hazrat Ameer s Ramadan Message

Kg 1. Phonics New my ABC. Letter Ss. Phonics Booklet Pg.100. Pg. 53. Pg.32. Numbers Revision + Math Book Pg.31. Numbers Revision + Math Book Pg.

فاندیشن )Foundation( )پایه تا پیشرفته( هذرس : ه ذس حیذ صالحی. ثثت ام در د ر آه زضی :

ALI 258: Qualities of a Faithful believer Khutba No. 87 March 25, 2014/ Jumadi I 23, 1435

سرفصل دوره اندروید ؽش ع تا ا ذس یذ دستاس هحیط تش اه یغی. o SRC تشسعی ؽاخ ای o آؽ ائی تا احذ ای ا ذاص گیشی

The criteria of healthy humans from the perspective of religious texts

Arabic Curriculum. Year1-Term1 WRITTEN BY ABOO IBRAAHEEM HAAROON BIN SAAJIDUR-RAHMAAN

1 st 10 Nights and Days of Dhu l-hijjah

باسمه تعالي. اقدامات عملي جهت پیشگیری و مقابله با wannacrypt اردیبهشت ماه 96

Ayatul Kursi (2: )

Suggested Global Islamic Calendar By Khalid Shaukat, prepared for

(When he said to his father and his people: "What do you worship'') meaning: what are these statues to which you are so devoted

Story #4 Surah Al-Qasas [Verses 76- ]

Surah Mumtahina. Tafseer Part 1

Madrasa Tajweedul Quran

The Reason for the Revelation of this Surah and its Virtues

نقش میراگر اصطکاکی در تهثود عملکرد لرزهای قابهای فوالدی تا اتصاالت صلة و نیمه صلة

Founding Research Journal

Introducing a Novel Method for Measurement of Stationary and Dynamic Torsion in Shafts With Application to Monitoring of Torsional Vibration

Adab 1: Prohibitions of the Tongue. Lecture 6

9. What is Satan? Is Satan Iblis?

SESSION 31 FREQUENT RECITATIONS. I. SPOKEN ARABIC: Use 3SP. For continuity, see Spoken Arabic in previous lesson.

ث تى بیی ي مصزف ت أم ج ت آمبد سبسی سزيیکس در سوبن و لیپبر

Muharram 23, 1439 H Ikha 14, 1396 HS October 14, 2017 CE

Table 1: Level of evidence (LE) Type of evidence. Table 2: Grade of recommendation (GR) Nature of recommendations

ALI 340: Elements of Effective Communication Session Four

Transcription:

آموزش برنامه نویسی در استریسک به زبان DIAL PLAN نویسنده: مسعود حیدری

برنامه نویسی استریسک به زبانplan dial مقدمه تح الت اخیشدسح ص خاتشات خ ا ی خ ت یشی آ ت س ت ایداد ت سؼ سیست ای استثاعی تحت ضثى تاثیشات تسضایی تش سیست ای ت ف ی س ذ پیطشفت آ ا داضت است. ا ش ص ضثى ای ت ف ی ثت ی تشس ئیچی ذاسی ت سشػتذس حا خای ضی ی تا ضثى ای ت ف ی IPBase ست ذ. دس ای یا سا ىاس ای تسیاسی ت سظ ضشوت ای خت ف اسائ ضذ است. یىی اص ؼش فتشی آ ا ضشوت دیدی ی تاضذ و سا ىاس ت تاص استشیسه سا ؼشفی د است. ا غ س و یذا یذ استشیسه یىی اص لذست ذتشی حث ب تشی سافت س ییچ ای ت تاص خ د دس د یای خاتشات IT ی تاضذ. یىی اص ػ ذ تشی دالی حث تیت آ ا ىا تش ا یسی ت صتا ای خت ف تش س ی ای سافت س ییچ سخ ای تفا ت آ ظیش Asterisknow-TrixBox-Elastix ی تاضذ. تا ت خ ت ای لات یت استشیسه دس سا ای اخیش سد ت خ ذیشا IT ساص ا ای خت ف لشاس شفت است. صیشا ا ىا ذیشیت ضخػی ساصی سیست ت ف ی آ ساص ا تا استفاد اص تش ا یسی فشا ی تاضذ. دس ای ما ت تش ا یسی dialplan ی پشداصی تا دس ظش داضت ای ىت و دسای صتا تش ا یسی اص تؼذاد صیادی function application استفاد ی ض د سؼی تش آ است و ت غ ست خا غ ختػش ت ؼشفی آ ا پشداخت تا روش ثا ای تؼذد ت ع س واستشدی اص ای ت اتغ استفاد ایی. Dialplan text ت ػ ا صتا اغ ی تش ا یسی ل ة استشیسه ض اخت ضذ است استشیسه ای صتا سا دس لا ة فش ت Dialplan ؼشفی ی ایذو ضا لس ت ای صیش ی تاضذ. Context Dial ا Plan ت تخص ای تفا تی تمسی ی ض ذ و ش تخص Context ا یذ ی ض د. ت ا ی دست سا ؼ ای ضت ضذ تؼذ اص تؼشیف ش context تخطی اص آ Context حس ب ی ض ذ. ش یه اص context ا داسای اسا ی حع ت فشد ی تاض ذ و ای اسا ی تی ػال ت [] لشاسداد ی ض ذ. context ات د غ ست [general[ [ globals [تؼشیف, ی ض ذ. ا ش.[incoming][out-00]. ی ت ا ذ ػذد حشف یا تشویثی اص آ ا تاضذ. تؼ ا ثا : context ىت : اص ا زاسی context ا ت غ ست [globals[ ]general], [default], خ دداسی و یذ. ىت : دس context ا ی ت ا یذ تا دست س context... Goto include ای دی ش سا فشاخ ا ی و یذ.

ضى صیش استثاط تی channel configuration context ا دس dialplan سا اص مغ ضش ع طا یذ ذ. اص تشی پاسا تش ای سد یاص دس تؼشیف extension channel وا تىس ا ی تاض ذ. Extensions Extensions :دس استشیسه ؼ ال ت یه ض اس یا ض اس اضاس ی ایذ.الص تزوشست و extensionیىیاص تشی تخص ای context ا حس ب ی ض د. دس ش context ی ت ا ت تؼذاد سد یاص اص extentions ا استفاد د. ت ع س و یExtensions ا ت س تخص تمسی ی ض ذ syntax آ ت غ ست صیش است: exten =>extension_name, priority, application ثا : exten => 123,1,Answer() ا Extensions یت ا ذ ػذد حشف... تاضذ. دس ادا ت ؼشفی شیه اص ای لس ت ا ی پشداصی : : extension_name ض اس ای است و ی ت ا ذ ػذد یا حش ف تاضذ و ؼ ال ت غ ست ػذد تیا ی ض د ا ذ ض اس ت ف. s : Extension ت ؼ ی start اص پشواستشدتشی ع ض اس ا )اص ع حش ف( ی تاضذ. ا ی و ض اس ای اص عشف ت اس یش ذ شفت ط د یا ت سظ استشیسه ض اسnumber extensionsدسیافت ط د لات استفاد ی تاضذ. ت ػ ا ثا :ص ا یى ت اس ت ivr اغ ی سیشد ی ی ض د. h :Extension ت ؼ ی hangup یثاضذ ای ض اس ا ی و ت اس یش ذ ت اس سا لغغ یى ذ فشاخ ا ی ی ض د.

t Extension :ت ؼ ی timeout یثاضذ. ا ی وcontext timeout یط د واستش ض اس ای اسد ى ذ ای ض اس فشاخ ا ی ی ض د. i Extension :ت ؼ ی invalid یثاضذ ص ا ی و واستش ض اس اضتثا اسد یى ذفشاخ ا ی ی شدد. Priority ت ؼ ای ا یت دس اخشای شاح یه context ی تاضذص ا یى وا تىس ا ت سظ استشیه فشاخ ا ی ی ض ذ ؼ ال ا ی خظ تش ا داسای 1: priority یثاضذ exten => 123,1,Answer() exten => 123,2,Hangup() next ت ؼ ای Priority n : ی تاضذ تشای اخشای خظ ت خظ تش ا ت غ ست incrementalاستفاد ی ض د. exten => 123,1,Answer() exten => 123,n,do something exten => 123,n,do something else exten => 123,n,do one last thing exten => 123,n,Hangup() ت ظ س ساد تش ضذ یه context ی ت ا ی اص دست س same استفاد ایی exten => 123,1,Answer() same =>n,do something same =>n,do something else same =>n,do one last thing Priority labels ی ت ا دس ش contextتشای شا یت یه lable تؼیی وشد دس غ ست ض دس حی تش ا یسی ادا وذ سا ت آ ا یت خاظ تا lable طخع اسخاع داد. ثا : exten => 123,n(label),application() ىت : تؼیی lable تشای یه priority ت غ ست صیش ادسست خ ا ذ ت د.

exten => 123,n,(label),application() Application طات ت ا صتا ای تش ا یسی دسdialplanاص function ا application ا استفاد یى ی. applications ا ای لات یت سا داسا ست ذ و شػ خاغی سا دس channelاخشا ای ذ. plan یىی اص ت ع س و ی ی ت ا حذ د 300 ا ی function application 400 دس استشیسه ؼشفی د دس تش ا یسی dial اص ا ا استفاد وشد. دس ادا تاروش ثا ت ؼشفی پشواستشدتشی ای ت اتغ ی پشداصی. Syntax: Answer ([delay]) Answer ا ی ت ظی اتی و تشای ش channel لات اػ ا ی تاضذ تاتغAnswer است. ی ت ا تشای ای تاتغ تشحسة ی ی ثا ی تاخیش دس ظش شفت ض د. Syntax: Playback(filename1[&filename2...][,options]) Playback ای تاتغ غشفا ا ىا پخص فای ای غ تی اص پیص ضثظ ضذ سا ت ا ی د ذ. ت ع س پیص فشؼ سیش فای ای غ تی دس سیش صیش ی تاضذ. /var/lib/asterisk/sounds/ Playback(filename) Playback(custom/filename) ىت : ا ش فای غ تی دس سیش خاغی تاضذ ی تایست تشای فشاخ ا ی آ فای ت غ ست صیش اص ای تاتغ استفاد وشد. Playback(/home/masoud/sounds/filename) دلت و یذ یاصی ت تؼیی پس ذ فای غ تی یثاضذ. استشیسىث غ ست ات اتیه ت تشی ویفیت سا تشای پخص فای غ تی ا تخاب ی ایذ. ی ت ا یذ دس حی پخص فای غ تی تا فطشد و یذ # فای غ تی سا ت ات ا سسا ذ خظ تؼذی تش ا سا اخشا د. Syntax: Hangup() Hangup ای تاتغ channel سا لغغ وشد یا ت اغغالح آ سا Hang ی up و ذ دسای حا ت ػذد 1- سا تش ی شدا ذ. اص ای تاتغ ؼ ال دس ا ت ای تش ا ا استفاد ی ض د.

ىت : تا ت خ ت حث تیت ا ستیىس واستشی آسا ای ش افضاس تسیاسی اص واستشا یض ای سخ ساا تخاب د تشای سفاسضی ساصی سیست ت ف ی خ دالذا ت تش ا یسی تش س ی استشیسه ی و ذ. الص ت روش است دس ا تش ا یسی ی تایست ىات صیش سا اس دس ظش داضت تاضیذ : - اس dialplan ادس سیش ای صیش ایداد ی ض ذ. etc/asterisk/extensions.conf ضا ت ظی ات اغ ی ا ی extensions_additional.conf: ضا Dialplan ا تغیش ای ایداد ضذ ت سظ freepbx الص است تذا ی تؼذ اص ش تغییش دس freepbx ای فای overwrite ی ض د. ت اتشای ش تغییش دستی دس ای فای غمی ی تاضذ. تشای آ ى تت ا یذ تغییشات دستی دس free pbx ایداد و یذ ی تایست تخطی سا و تغییش داد ایذ دس ای فای extension_freepbxoverride وپی اییذ. extensions_custom.conf ضا Dialplan ایداد ضذ ت سظ واستش تا روش ثا ساد ا ی dialplanخ د سا ت ع س ػ ی پیاد ساصی ی و ی. دس اتتذا Context خ د سا دس سیش etc/asterisk/extension_custom.conf ت غ ست صیش پیاد ساصی ی و ی. Include=>test - 1 [test] exten =>100,1,Answer() same =>n,playback(hello-world) سپس فای سا رخیش ی ایی لث اص تست dialplanسا تا استفاد اص وا ذ صیشreload یى ی. Asterisk -rx dialplan reload - 2-3 تشای تست ای dialض اس plan 100 سا ض اس یشی یى ی.() answer channelف ق app سا پاسخ فت فای غ تی hello-wordسا و دس سیش پیص فشؼ لشاس داسد playback یا پخص ی و ذ ایتاchannelلغغ ی شدد. Record(filename:format silence[ maxduration][ option]) Record

ای دست س ا ىا ضثظ فای غ تی سا ت واستش خ ا ذ داد. ا اخشای ای دست س تؼذ اص ض یذ غذای ت ق )پخص فای beep (ضثظ غذا ضش ع تا ص ا ی و واستش و یذ # سا تفطاسد ادا خ ا ذ یافت. تا ت خ ت syntax واستش دس ای دست س ا ىا ایداد حذ دیت دس ص ا ضثظ تؼیی فش ت فای غ تی ا فای ضثظ ضذ چ ی تؼیی ىا رخیش ساصی فای ضثظ ضذ سا خ ذ داضت. ت ثا صیش ت خ و یذ. exten => 6597,1,Answer(5) same =>n,record(en/custom-menu.gsm) same =>n,wait(1) same =>n,playback(custom-menu) دس ای ثا فای غ تی دس صیش ضاخ en تا ا custom-menu فش ت gsm رخیش یط د.تا فطاس داد و یذ # ىث ت ذت 1 ثا ی فای غ تی رخیش ضذ دذدا پخص ی ض د. Syntax: Goto([[context ]extension ]priority) Goto اص ای دست س تشای اضاس وشد یا پشش ت تخص ای خت ف یه تش ا استفاد ی ض د. ثا : exten => 201,1,Goto(TestMenu,start,1).. [TestMenu] exten => start,1,answer() Syntax: Background(filename1[&filename2...][ options[ langoverride][ context]]) Background اص ای تاتغ ت ظ س پخص فای غ تی تا ا ىا و تش آ استفاد ی ض د. طات app Playback ی تاضذ تا ای تفا ت و دس ا پخص فای غ تی واستش ا ىا فطشد و یذ یا اسد وشد DTMF سا داسد. ای تاتغ تسیاس پش واستشد ت د دس تیطتش اسد تشای ایداد IVR اص آ استفاد ی ض د. ثا : [TestMenu]

exten => start,1,answer() same =>n,background(main-menu) WaitExten() تا ای دست س ا ذ background واستش ا ىا اسد وشد dtmf سا داسد. اص ای دست س ؼ الت شاbackground تشایساختivrاستفاد یط د. دس الغ طخع و ذ ذت ص ا ی است و تؼذ اص [TestMenu] exten => start,1,answer() same =>n,background(main-menu) same =>n,waitexten(5) ات ا فای غ تی استشیسه تظش اسد وشد DTMF اصعشف واستش ی ض د. exten => 1,1,Playback(digits/1) exten => 2,1,Playback(digits/2) حا تا روش یه ثا ػ ی ا ی ivrخ د سا ی ساصی. دس :extension_custom.conf Include=> Testivr [Testivr] exten =>333,1,Answer() same =>n,background(main-menu) same =>n,waitexten(5) exten => 1,1,Playback(digits/1) same =>n,goto(testivr,333t,1) exten => 2,1,Playback(digits/2) same =>n,goto(testivr,333,1) exten => i,1,playback(pbx-invalid) same =>n,goto(testivr,start,1) exten => t,1,playback(vm-goodbye)

دس ثا ف ق تؼذ اص ض اس یشی ػذد 333 فای غ تی پخص ی شدد دس غ ستی و ػذد 1 یا 2 اسد ض د ػذد خ ا ذ ضذ تش ا تا استفاد اص دست س Go to دذدا اخشا خ ا ذ ضذ. دس غ ستی و واستش ػذدی اضتثا اسد و ذ ت اس ت number) i(invalid سیشد ی ی ض د پیغا خغا پخص ی شدد. ا ش واستشدس حی پخص فای یا تؼذ اص آ ت ذت 5 ثا ی ػذدی سا اسد ى ذ استشیسه ت ع س پیص فشؼ تؼذ اص 10 ثا ی ت اس سا ت سیشی و دس تش ا تشای t(timeout) تؼشیف ضذ است ی فشستذ. Read(variable[ filename][ maxdigits][ option][ attempts][ timeout]) Read Application ای applications تسیاس ضثی ت تاتغ Background ی تاضذ. تا استفاد اص ای applicationواستشلادس خ ا ذ ت د دس حی پخص فای غ تی dtmf اسد ایذ. ىت : ی ت ا تا پاسا تش ت ثا صیش ت خ و یذ. maxdigits واستش سا دس تؼذاد اسد وشد ض اس حذ د وشد. exten=>6123,1,read(digits,enter-ext-of-person) exten=>6123,n,playback(you-entered) exten=>6123,n,saynumber(${digits}) Dial Syntax: Dial(type/identifier, timeout, options, URL) Dial یىی اص تشی پشواستشدتشی application ا تشای ض اس یشی اتػا ت اس یش ذ ا ت یىذی ش ی تاضذ. ت د ی ا یت صیاد ای تاتغ ت ا ی Argument ای آ سا سد تشسسی لشاس ی د ی. Argument 1: Destination ای argument طخع و ذ ی مػذی است و لػذ ت اس تا آ سا داسی. ای مػذ ت د تخص تمسی ی شدد و تا ػال ت / اص خذا ی ض ذ. تخص ا آ ع وا ا ی است و ی خ ا ی تا آ ت اس ت یشی تخص د ض اس یا ض اس آ channel ی تاضذ. Destination:type/identifier >>>>>>---------------------<<<<<ض اس یا ض اس / ع وا ا : مػذ ىت : ع وا ا ی ت ا ذ...,IAX,...DAHDI,SIP تاضذ. ض اس یا ض اس ی ت ا ذ ض اس وا ا یا ض اس داخ ی ض اس ض شی یا...تاضذ. - -

ثا : دس ثا ف ق عشیم ض اس یشی استثاط تا داخ ی ای تفا ت ظیش : [custom-dial] exten=>502,1,dial(sip/502) exten=>503,1,dial(iax/503) exten=>504,1,dial(dahdi/1) exten=>505,1,dial(dahdi/g0/88209229) Sip, IAX یا داخ ی اص ع FXS طا داد ضذ است. ػال تش آ دس اخشی ثا چ ی استثاط تا ض اس خغ ط ض شی اص عشیك تشا ه FXO یا E1 اسائ شدیذ است. الص تزوشست تا استفاد اص ػال ت & ی ت ا یذ ض ا تا ماغذ خت ف ت اس حاغ و یذ. exten => 100,1,Dial(DAHDI/1&SIP/0004F2001122&IAX2/Softphone) تا ض اس یشی 100 ت ا ی Destination ت ع س ض ا تا استشاتژیringall ضش ع ت ص خ سد یى ذ. دس ای حا ت ت اس س دی تا ا ی مػذی channel سا داخ ی ا ت لف ی شدد. answerوشد است bridge یط د ف سا ص خ سد تمی Argument 2: Timeout ف ای argument ذت ص ا ا تظاس تشای ص خ سد ی تاضذ. ثا : exten => 201,1,Dial(DAHDI/1,10) same => n,playback(vm-nobodyavail) same => n,hangup() دس ثا ف ق ت اس یش ذ سؼی داسد تا شفت ض اس 201 تا داخ ی آ ا يFXSدس وا ا 1 ت اس تشلشاس و ذ. ا ش لث اص 10 ثا ی ت اس answer ض د وا ا bridgeخ ا ذ ضذ استثاط تا داخ ی سد ظش تشلشاس ی ض د.دس غیش ای غ ست تؼذ اص 10 ثا ی پیغا playback پخص ی شدد وا ا لغغ ی ض د. ا ش تغیش timeout ت ظی ط د تا ص ا ringing وشد وا ا ػ یات hangup یا answerوشد ادا خ ا ذ یافت. ا ی و داخ ی ای مػذ) )destination پاسخ ثاض ذ یا ضؼیت آ ا یىی اص حا ت ای no answer, busy unavailable...تاضذ استشیسه تغیشDIALSTATUS سا فشاخ ی یى ذ تش ا تا حفظ ا یت ( priority (ادا ی یاتذ. دس آی ذ تا تغیش DIALSTATUS تیطتش آض ا خ ا یذ ضذ. Argument 3: Option

ای تغیش اص ع string است و داسای پاسا تش ای صیادی ی تاضذ. دس ادا ت اختػاس ت ؼشفی د سد اص پشواستشدتشی ای پاسا تش ا ی پشداصی. m :تا استفاد اص ای پاسا تش ت اس یش ذ اص اتتذای ض اس یشی ت دای ض یذ غذای ت ق music on hold سا ی ض د. exten => 201,1,Dial(DAHDI/1,10,m) same => n,playback(vm-nobodyavail) same => n,hangup() :L(x[:y][:z]) تشای حذ د وشد ذت ص ا ىا ت اس یش ذ اص ای پاسا تش استفاد ی ض د. X ذت ص ا داص تشای ىا است تؼذ اص زضت ای ذت ص ا ت اس لغغ ی شدد. احذ آ تشحسة ی ی ثا ی ی تاضذ. Y ذت ص ا تالی ا ذ ت پایا ىا است و ت ظ س اػال طذاس لغغ اص آ استفاد ی شدد. احذ آ یض تشحسة ی ی ثا ی ی تاضذ. Z پیغا طذاس لغغ ش Z ی ی ثا ی لث اص لغغ اس تىشاس ی ض د. exten => 100,1,Answer exten => 100,n,Dial(sip/201,30,L(30000[:10000][:4000])) exten => 100,n,Hangup Argument 4: URI ای آس ا ت ذست سد استفاد لشاس ی یشد.دس غ ستی و endpoint ا لات یت دسیافت urlسا ا استفاد اص soft phone دسغفح وا پی تشpopup خ ا ذ ضذ. url. supportو ذ ثا : [TestMenu] exten => start,1,answer() same =>n,background(main-menu) same =>n,waitexten(5) exten => 1,1,Dial(SIP/222,10) ; same =>n,playback(vm-nobodyavail)

exten => 2,1,Dial(SIP/333,10) ; same =>n,playback(vm-nobodyavail) exten => i,1,playback(pbx-invalid) same =>n,goto(testmenu,start,1) exten => t,1,playback(vm-goodbye) ىت : فمظ استفاد اص ا ی تغیش سد یاص است دس غ ست استفاد ىشد اص آس ا ا خای آ سا خا ی ت زاسیذ. exten => 1,1,Dial(DAHDI/1,,m) متغیرها) Variables ( - ا ذ ش صتا تش ا یسی دس dialplan اص تغیش ا تشای ت ث د تخطیذ تش ا استفاد یى ی. - تغیش ا داسای ا حػش ت فشد ی تاض ذ و اعالػات سا دس خ د رخیش یى ذ. Syntaxآ ا ت غ ست س ت س ی تاضذ. ${Name} - تغیش ا دس dialplanتا حش ف و چه تضسي ضت ی ض ذ. - ت ع س و ی ت چ ذ ش تمسی ی ض ذ: 1 -متغیرهای اصلی) Global ( ای ع تغیش ا دس فای extensions.conf یا globals_custom.conf ت غ ستىا تىس[ global ]تؼشیف ی ض ذ. تغیش ای اغ ی دس dialplan دس ش تخطی اص تش ا ی ت ا ذ فشاخ ا ی ض ذ. [globals] gexten=sip/222-2 متغیرهای کانال )Channel(

ای ش تغیش ایی ست ذ و غشفا شت ط ت یه ت اس خاظ ی تاض ذ فمظ تا ص ا ی و آ ت اس تشلشاس یثاضذ ی exten => 301,1,Set(masoud=SIP/100) same =>n,dial(${masoud}) ت ا اص آ ا استفاد آ ا سا فشاخ ی د. ا ذ...CALLERID تا ؼىس تغیش ای اغ ی سا ی ت ا دس ش ىا ی فشاخ ا ی وشد. ای ع تغیش ا تا استفاد اص وا ذ Set() اعالػات وا ا خاسی سا دس خ د رخیش ی و ذ. تؼذاد صیادی اص تغیش ای channel ت غ ستاص پیص تؼشیف ضذ خ د ی تاض ذ. استشیسه ی ت ا ذتؼضی اص تغیش ای اص پیص تؼشیف ضذ سا دس dialplan فشاخ ی ایذ. ت ای ع تغیش ا و ت غ ست حػش ت فشد فمظ تا استفاد اصحش ف تضسي سص س ضذ ا ذ تغیش ایسیست ی یض فت یط د.)دس ادا ت چ ذ اص ای تغیش ا اضاس ضذ است. ) $ } CALLERID(all)}, ${CALLERID(name)}, ${CALLERID(num)}, ${CHANNEL}, ${CONTEXT}, ${EPOCH}, ${EXTEN}, ${SIPUSERAGENT}, and ${UNIQUEID{ ${CDR(accountcode)} * - Account code (if specified) دس صیش یستی وا اص تغیش ای سیست ی ایص داد ضذ است: ${BLINDTRANSFER} - The name of the channel on the other side of a blind transfer ${BRIDGEPEER} - Bridged peer ${BRIDGEPVTCALLID} - Bridged peer PVT call ID (SIP Call ID if a SIP call) ${CALLERID(ani)} * - Caller ANI (PRI channels) OLI ${CALLERID(ani2)} * - ANI2 (Info digits) also called Originating line information or ${CALLERID(all)} * - Caller ID ${CALLERID(dnid)} * - Dialed Number Identifier ${CALLERID(name)} * - Caller ID Name only ${CALLERID(num)} * - Caller ID Number only ${CALLERID(rdnis)} * - Redirected Dial Number ID Service ${CALLINGANI2} * - Caller ANI2 (PRI channels) ${CALLINGPRES} * - Caller ID presentation for incoming calls (PRI channels)

${CALLINGTNS} * - Transit Network Selector (PRI channels) ${CALLINGTON} * - Caller Type of Number (PRI channels) ${CHANNEL} * - Current channel name ${CONTEXT} * - Current context ${DATETIME} * - Current date time in the format: DDMMYYYY-HH:MM:SS (Deprecated; use ${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}) ${DB_RESULT} - Result value of DB_EXISTS() dial plan function ${EPOCH} * - Current unix style epoch ${EXTEN} * - Current extension ${ENV(VAR)} - Environmental variable VAR ${GOTO_ON_BLINDXFR} - Transfer to the specified context/extension/priority after a blind transfer (use ^ characters in place of to separate context/extension/priority when setting this variable from the dialplan) ${HANGUPCAUSE} * - Asterisk cause of hangup (inbound/outbound) ${HINT} * - Channel hints for this extension ${HINTNAME} * - Suggested Caller*ID name for this extension ${INVALID_EXTEN} - The invalid called extension (used in the "i" extension) ${LANGUAGE} * - Current language (Deprecated; use ${LANGUAGE()}) ${LEN(VAR)} - String length of VAR (integer) ${PRIORITY} * - Current priority in the dialplan ${PRIREDIRECTREASON} - Reason for redirect on PRI, if a call was directed ${TIMESTAMP} * - Current date time in the format: YYYYMMDD-HHMMSS (Deprecated; use ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}) ${TRANSFER_CONTEXT} - Context for transferred calls ${FORWARD_CONTEXT} - Context for forwarded calls ${DYNAMIC_PEERNAME} - The name of the channel on the other side when a dynamic feature is used. ${DYNAMIC_FEATURENAME} The name of the last triggered dynamic feature. ${UNIQUEID} * - Current call unique identifier

${SYSTEMNAME} * - value of the systemname option of asterisk.conf ${ENTITYID} * - Global Entity ID set automatically, or from asterisk.conf تا روش ثا واستشد استفاد اص تغیش اسا دس dial طا ذ plan خ ا ی وشد: تشای تؼشیف تغیش ای اغ ی ا ع س و فت ضذ دس فای extensions.confت غ ست صیش تؼشیف ی و ی : [globals] masoud=sip/100 ali=sip/200 reza=dahdi/1 چ ی ی ت ا دس ع تش ا تشای تؼشیف تغیش ای اغ ی اصدست سSetGlobalVar استفاد وشد. [internal] exten => 123,1,SetGlobalVar(masoud=SIP/100) [lab] exten => 4000,1,Answer exten => 4000,n,Wait(1) exten => 4000,n,Set(TIMEOUT(digit)=3) exten => 4000,n,Set(TIMEOUT(response)=10) exten => 4000,n,Background(custom/mainivr) exten => 4000,n,WaitExten(,) exten => 1,1,Goto(ext-603,s,1) exten => 2,1,Goto(day-audio,s,1) exten => 3,1,Goto(ext-doble,s,1) exten => i,1,playback(invalid) exten =>i,n,hangup() exten => t,1,hangup() exten => hang,1,playback(vm-goodbye) exten =>hang,n,hangup [ext-603] exten => s,1,dial(${masoud},,r) exten =>s,n,hangup() [day-audio] exten => s,1,playback(custom/day) exten =>s,n,hangup()

[ext-doble] exten => s,1,dial(${ali}&${reza},10) exten =>s,n,hangup() SayDigits() تا استفاد از ای applicationا ىا خ ا ذ ضذ یه ػذد طخع تشای ت اس یش ذ ت غ ست سل ت سل فشا ی ض د. ت ػ ا ثا دسغ ست استفاد اصای تاتغ ت غ ست saydigits(123) استشیسه مذاسصیش سا تشای خاعة ی خ ا ذ: One, Two, Three SayNumber() ا ىا خ ا ذ اػذاد تشای ت اس یش ذ تا استفاد اصای application ای ا ىا فشا ی ض د و اػذاد طخػی تشای ت اس یش ذ خ ا ذ ض د. ت ػ ا ثا تؼذ اصاستفاد اصای application ت ای غ ست: saynumber(123) استشیسه مذاس صیش سا تشای خاعة ی خ ا ذ: "one hundred twenty three". SayAlpha() ای applicationا ىا خ ا ذ یه سضت اص حش فشا تشایت اس یش ذ فشا ی و ذ. ت ػ ا ثا : SayAlpha(hello) ص ا ی و تش ا ت خظ ف ق ی سسذ استشیسه و "hello" سا تشای ت اس یش ذ پخص ی و ذ. ( SayPhonetic:) ای application تیا و ذ و ت غ ست خفف ی تاضذ. ثا : SayPhonetic(hello) و "Hotel Echo Lima Lima Oscar خ ا ذ یط د. الگوهای شماره گیری )تا ت خ ت حائضا یت ت د ا ای ض اس یشی حت ا تا ایpattern ای ض اس یشی دس استشیسه آض ایی داسی. دس ادا ت یادآ سی تؼذادی اص تشی آ ا ی پشداصی.( X: ش ػذدی تی 0 تا 9 سا ضا ی ض د. : Z ش ػذدی تی 1 تا 9 سا دس ضا ی ض د.

: N ش ػذدی تی 2 تا 9 یثاضذ. دس dialplan یسی تشای matchوشد ا ا اص.(_) underscoreاستفاد ی ض د. ت ع س ثا : _NXX _ X. _. ىت : الص تزوشست و ا ش) _ ) سا دس اتتذای ای pattern فشا ش و ی استشیسه آ سا ت ػ ا یه extension name دسیافت ی و ذ.ای سد یىی اص اضتثا ات سایح دس اتتذای واس تا dialplan یسی ی تاضذ. ثا : exten => _NXX,1,Playback(auth-thankyou) دس غ ستی و واستش ػذدی 3 سل ی و سل ا آ اص 2 تا 9 د سل تؼذی آ اص 0 تا 9 تاضذ سا ض اس یشی و ذ پیغا auth-thankyou پخص خ ا ذ ضذ. دس الغ ای ػذد ی ت ا ذ ػذدی تی 200 تا 999 تاضذ. -ا ش استشیسه د ا ی طات سا تشای matchوشد پیذا و ذ ت اس سا ت ا ی ضثی تش دلیك تش سیشد ی ی ایذ. دس ثا صیش ا ش واستش ض اس 5551212 سا dial و ذ دست س د اخشا خ ا ذ ضذ. exten => _555XXXX,1,Playback(silence/1&digits/1) exten => _55512XX,1,Playback(silence/1&digits/2) متغیرهای کانال variable( )channel تغیش { EXTEN }$اص خ تغیش ای پش واستشد وا ا ی تاضذ. دس حمیمت ت ض اس شفت ضذ یا extensions فت ی ض د. ت ثا صیش ت خ و یذ: تؼذ اص شفت ش ض اس 3 سل ی تاتغ SayDigitsآ سا ت غ ست digitتشای واستش ی خ ا ذ. exten => _XXX,1,Answer() same =>n,saydigits(${exten}) :${EXTEN:x} اص ای syntax ا ی و تخ ا ی ػذدی سا خذا و ی استفاد ی ض د. exten => _XXX,1,Answer()

same =>n,saydigits(${exten:1}) دس ای ثا سل ا حزف 2 سل آخش ت غ ستشل سل یا دس اغغالح digitتیا ی ض د. دس ثا تاال 2 سل ا حزف فمظ سل آخش ت غ ست digti ی ض د. exten => _XXX,1,SayDigits(${EXTEN:-1)) :${EXTEN:x:y} دس ای X syntax تؼذاد اسلا ی است و ی خ ا ی اص ػذد خذا ض د y تؼذاد اسلا ا تخاب ضذ ی تاضذ. ت ع س ثا دس ػذد 94169671111 ${EXTEN:1:3} خش خی 416 ی تاضذ. ثا : پرش شرطی ) GotoIf( [outbound-local] exten => _9NXXXXXX,1,Dial(DAHDI/g0/${EXTEN:1}) exten => _9NXXXXXX,2,Congestion( ) GotoIf(expression?destination1:destination2) اصای تاتغ تشای پشش تی خظ ای خت ف تش ا تا دس ظش شفت ضشط خاظ استفاد ی ض د. س ذ واس ت ای غ ست است و چ ا چ ضشط یا ا expression سیش د ی ی ض د. دسست تاضذ ت اس ت destination1 دسغیشای غ ست ت اس تdestination2 مػذ یا destinations ی ت ا ذ یىی اص اسد صیش تاضذ: test ا ذ :Priority Label- : ا ذtest,456 -Priority Label, extension ا ذ incoming,test,456 :-context, extension, and priority label ثا : exten => 345,1,Set(TEST=1) same =>n,gotoif($[${test} = 1]?true:false) same =>n(true),playback(hello-word) same =>n(false),playback(goodbye)

exten => 345,1,Set(TEST=1) same =>n,gotoif($[${test} = 1]?:false) same =>n,playback(hello-word) same =>n(false),playback(goodbye) exten => 123,1,Set(COUNT=10) same => n(start),gotoif($[${count} > 0]?:goodbye) same =>n,saynumber(${count}) same =>n,set(count=$[${count} - 1]) same =>n,goto(start) same => n(goodbye),hangup() exten => 123,1,GotoIf($[${CALLERID(num)} = 8885551212]?reject:allow) same => n(allow),dial(dahdi/4) same => n(reject),playback(abandon-all-hope) exten => 123,1,GotoIf($[${CALLERID(num)} = 8885551212]?reject:allow) same => n(allow),dial(dahdi/4) same => n(reject),playback(abandon-all-hope) GotoIfTime تشی واستشد ای application ای است و تا استفاد اص آ ی ت ا پیا ای خ ش آ ذ یی تفا تی سا دس تاص ای ص ا ی خت ف تشای ت اس یش ذ ا پخص د. Syntaxای applicationت غ ست س تش ی تاضذ. GotoIfTime(times,days_of_week,days_of_month,months?label) ت ع س و ی دس غ ستی و ص ا تاسیخ فؼ ی تا تاص ص ا ی طخع ضذ دس ای application غاتمت داضت تاضذ سیست ت اس سا ت س ت یه یث ؼی سیشد ی ی ایذ. زمان) time ( دس ادا چ ی ت ظی یه تاص ص ا ی دس یه ضثا س ص سا تشای ایapplication ثا ی ص ی :

ا ش تاص ص ا ی سد ظش ا تی 9 غثح تا 5 تؼذاصظ ش تاضذ ی تایست ت غ ست صیش ضت ض د: GotoifTime(09:00-17:00,...) ىت : یه ضثا س ص اص حذ د ص ا ی 0:00 ضش ع ت 23:59 خت ی ض د. روزهای هفته) week )day of دس ادا ت ظ سآ صش تؼیی یه تاص طخع تشای س ص ای فت چ ذ ثا آ سد ضذ است. س ص ای فت تایذ ت غ ست mon, tue, wed, thu, fri, sat, sun ضت ض ذ. ت ػ ا ثا ا ش ی خ ا ی حذ د ای تی س ص د ض ث تا خ ؼ سا طخع ایی تایذ ت غ ست صیش تیا ض د: GotoifTime(...,mon-fri,...) روزهای ماه) days-of-month ) دس غ ستی و لػذ داسیذ حذ د ای اص س ص ای خاظ دس ش ا سا تؼیی اییذ ی تایست اص ض اس آ س ص ا استفاد اییذ. ت ػ ا ثا ا ش ی خ ا یذ ای حذ د ت ا س ص ای ا سا ضا ض د تایذ ت یسسیذ 1-31 ا ش ی خ ا یذ ای تاص س ص پا ضد سی ا یه ا سا ضا ض د تایذ ت یسیذ 30&15. ماه ها (Months( دس ای لس ت تایذ ا ا ای سد ظش ت غ ست صیش ضت ض د: ثا : دس ساػات واسی ت اس ت contextای ت ا open فشستاد ی ض د. jan, feb, mar, apr, and so on. exten => s,1,gotoiftime(*,*,4,jul?closed,s,1) same =>n,gotoiftime(09:00-17:59,mon-fri,*,*?open,s,1) same =>n,gotoiftime(09:00-11:59,sat,*,*?open,s,1) دس ساػات غیشواسی و د ػ تؼغی ی تاضذ ت اس ت contextای ت ا closed فشستاد ی ض د. Voicemail )صندوق صوتی( same =>n,goto(closed,s,1) یىی اص خزاب تشی یژ ی ای سیست ت ف ی تحت استشیسه غ ذ ق غ تی یا ا Voice یثاضذو ذسادا mail ت ثشخی اص features ای آ اضاس طذ است. - ا ىا تؼشیف غ ذ ق غ تی ت تؼذاد ا حذ د تشای واتشا - لات یت voice2mail اسسا voicemail ت غ ست پی ست ت آدسس ای ی. - تؼشیف voicemail() تشای حا ت ای خت ف واتش: voicemail busy, voicemail unavailable

ت ظی ات voicemailدس سیش etc/asterisk/voicemail.conf ی تاضذ و داسای تغیش ای خت فی ی تاضذ و دس آی ذ ت ع س و ی تشسسی ی ض ذ. دس ای تخص ت context voicemail و دس dialplan یسی اص آ استفاد ی ض د اضاس ی و ی. ت سی context voicemail ای ا ىا تشای ا فشا ی ض د و ت ظی ات خت فی تش س ی mailbox ایی و اص یىذی ش ستم ست ذ ا دا د ی. ساخت Mailboxes اص Syntax صیش تشای تؼشیف mailboxes استفاد ی ض د. : mailbox=>password,name[,email[,pager_email[,options]]] Mailbox ا ض اس mailbox است. ای ض اس ؼ ال ا ض اس داخ ی یا extension number ی تاضذ. Password پس سد سد یاص تشای دستشسی ت غ ذ ق غ تی ی تاضذ.فای voicemail.conf ت اصای تغییش پس سد ت سظ واستش ت س ص ی ض د. Email آدسس ای ی تشای دسیافت Voicemail ی تاضذ. pager_email استشیسه ی ت ا ذ پیغا ی ث ی تش آ ا ساصی واستش اص دسیافت voicemail ت آدسس ای ی ی خاظ اسسا ایذ. Options یه سشی ت ظی ات اضافی تشای attach,serveremail, tz, saycid, review, operator, callback, time zone, dialout ی and exitcontext تاضذ و دس فای voicemail.conf خ د است. [default] 101 => 1234,JohnDoe,john@asteriskdocs.org,jdoe@pagergateway.tld 102 => 4444,JaneDoe,jane@asteriskdocs.org,jane@pagergateway.tld ثا : Voicemail -Dialplan حا تی سا دس ظش ت یشیذ و تخ ا ی ا ش داخ ی john,jane پاسخ ی ت اس ث د ذ ت اس ت voicemail سیشد ی ض د. دس ای حا ت اص دست س voicemail(mailbox@context) استفاد یى ی : [internal]

exten => 101,1,Dial(${ali},,r) exten => 101,102,VoiceMail(b101@default) پیغا " داخ ی سد ظش اضغا یثاضذ." سا تشای ت اس یش ذ پخص ی ایذ.) busy ( voicemail اص bلث b :حشف "داخ ی سد ظش دسدستشس یثاضذ."ساپخص ی ایذ.( unavailable ) اصvoicemailپیغا :حشفuلث u دس ثا صیش دس غ ستی و واستش پس اص 10 ثا ی خ اب ذ ذ دست س voicemail اخشا ی ض د. [internal] exten => 101,1,Dial(${ali},10,r) دسترسی به Voicemail تشای دستشسی ت پیغا ای غ ذ ق غ تی اص دست س exten => 101,2,VoiceMail(u101@default) VoiceMailMain( ) دس dialplan استفاد ی ایی. ىت خا ة ت خ ای است و ای دست سآس ا ذاسد. تا استفاد اص دست س صیش دس ثا تاال ت غ ذ ق غ تی واستشا دستشسی خ ا ی داضت. exten => 500,1,VoiceMailMain( ) Macros دساستشیسه تشای خ یشی اص تىشاسdialplan ا اص اوش ا استفاد ی ض د. ثا ی و دس لس تVoicemailروش ضذ سا دذدا یادآ سی ی و ی. exten => 101,1,Dial(${JOHN},10) same =>n,gotoif($["${dialstatus}" = "BUSY"]?busy:unavail) same => n(unavail),voicemail(101@default,u) same => n(busy),voicemail(101@default,b) حا ص ا ی سا دس ظش ی یشی و ی خ ا ی تشای 100 واستشvoicemailتساصی. دس ای حا ت تایذ تاس ا ای dialplanسا وپی و ی. ای واس غمی ت ظش ی آیذ صیشا ػال تشای و حد تش ا صیاد ی ض د ت اصای شتغییشدستش ا احت ا خغا یض افضایص ی یاتذ. و ی. دسای الغ اوش ا ت ا و ه یى ذ. تذی غ ست و تؼذ اص تؼشیف یه اوش ت ا ی داخ ی ا سا ت آ سیشد ی ی تشای فشاخ ا ی اوش ا دس dialplan اص دست س() Macroاستفاد ی ایی. Macro ا داسای تغیش ای یژ ی تاضذ. ا تا استفاد اص macro- دس اتتذای اوش آ سا اص context ای ؼ ی ت ایض ی ایی. دس اوش ا ی تایستاصextension ایsاستفاد د.

${MACRO_CONTEXT} دس حمیمت وا تىسی است و اوش دس آ فشاخ ا ی ضذ است. ${MACRO_EXTEN} Extensionایاست و اوش دس آ فشاخ ا ی ضذ است. ${MACRO_PRIORITY} ای ضی ا ا یت ای است و اوش دس آ فشاخ ا ی ضذ است. ${ARG n } ای سد آس ا ی است و ت اوش پاس داد ی ض د. ت ػ ا ثا : ا ی آس ا $}ARG1{ تؼذ د ی ${ARG2} ثا صیش تؼشیف اغ ی اص اوش voicemail یثاضذ. حاال ا ی ت ا ی اوش ساخت ضذ سا دس dialplan فشاخ ا ی و ی. ثا : [macro-voicemail] exten => s,1,dial(${arg1},10) same =>n,gotoif($["${dialstatus}" = "BUSY"]?busy:unavail) same => n(unavail),voicemail(${macro_exten}@default,u) same => n(busy),voicemail(${macro_exten}@default,b) exten => 101,1,Macro(voicemail,${JOHN}) exten => 102,1,Macro(voicemail,${JANE}) exten => 103,1,Macro(voicemail,${JACK}) [macro-voicemail] exten => s,1,dial(${arg1},20) same =>n,goto(s-${dialstatus},1) exten => s-noanswer,1,voicemail(${macro_exten},u)

same =>n,goto(incoming,s,1) exten => s-busy,1,voicemail(${macro_exten},b) same =>n,goto(incoming,s,1) exten => _s-.,1,goto(s-noanswer,1) GoSub() ای application تسیاس ضثی Macro ی تاضذ ای ا ىا سافشا ی و ذ و ت اس سات یه block اص ت اتغ dialplan ا تما د ی ب استفاد اص یه تغیش طخع خظ تش ا سا ت مغ ضش ع تاص شدا ذ. دس حمیمت GOsub() ا ذ GOto() ػ ی و ذ تا دس یاد داضت ای ىت و ت اس اص ودا آ ذ است. Local Channels تاضذ. یىی اص س ش ای ض اس یشی دس دست س Dial() استفاد اص local ی channels تاضذ و داسای یژ ی ای خزاتی ی دس ادا تا روش ثا ت ت ضیح ای دست س پش واستشد ی پشداصی. [LocalSets] exten => 107,1,Verbose(2,Dialing multiple locations simultaneously) same => n,dial(sip/0000ffff0001&dahdi/g0/14165551212&sip/myitsp/12565551212,30) دس ای ثا ت ا ی ماغذ ت ع س ض ا ت ذت 30 ثا ی ص یخ س ذ ت اس س دی ت ا ی مػذی و سشیؼتش channelسا answerوشد است سیش د ی ی ض د تالفاغ ص خ سد تمی داخ ی ا ت لف ی شدد. حا ا ی خ ا ی تی ض اس یشی ا تاخیشایداد و ی پس اص زضت ذت ص ا طخع ص خ سد ش داخ ی سا ت لف ایی. تذی ظ س اص Local Channel استفاد ی و ی. Local Channels ا ىا و تش ش وا ا سا ت ا خ ا ذ داد. ت ثا صیش ت خ و یذ [LocalSets] exten => 107,1,Verbose(2,Dialing multiple locations with time delay) same =>n,dial(local/channel_1@timedelay&local/channel_2@timedelay &Local/channel_3@TimeDelay,40)

[TimeDelay] exten => channel_1,1,verbose(2,dialing the first channel) same =>n,dial(sip/0000ffff0001,20) exten => channel_2,1,verbose(2,dialing the second channel with a delay) same =>n,wait(10) same =>n,dial(dahdi/g0/14165551212) exten => channel_3,1,verbose(2,dialing the third channel with a delay) same =>n,wait(15) same =>n,dial(sip/myitsp/12565551212,15) same =>n,hangup )( دس ای ثا channel_3, channel_1 ماغذی channel_2, and ست ذ و اص عشیك وا تىس time delay ض اس یشی ی ض ذ. تا اخشای ای وا تىس س channels تا فاغ ص ا ی طخع اص ض اس یشی ی ض ذ. ذت ص ا timeout تشای و channel ا 40 ثا ی یثاضذ..س ذ واس تذی غ ست است وchannel_1 پس اص زضت 20 ثا ی ص خ سد out time ی ض د. دس ی حی دس ثا ی 10 ض اس یشی channel_2 آغاص ی ض د تا پایا 40 ثا ی شت ط ت timeout ادا خ ا ذ یافت. چ ی پس اص 15 ثا ی اصت اس ا channel_3 ضش ع ت ض اس یشی ی ایذ ت ذت 25 ثا ی ادا خ ا ذ یافت. The Verbose and NoOp Applications

ت ظ س ایص اعالػات ت غ ست حظ ای دس حیظ وا ذی استشیسه ی ت ا اص ای د applications پشواستشد استفاد د.ای دapplication ؼ ال تشای debug وشد dialplan ا سد استفاد لشاس ی یشد. () Verbose داسای د پاسا تشاست. ا ی پاسا تشآ ت غ ست ػذدی یثاضذ شچ ای ػذد تیطتش تاضذ خضییات تیطتشی ایص داد ی ض د. د ی پاسا تش و ت غ ست text استاعالػات شت ط ت تغیش ای وا ا خاسی سا طا ی د ذ. NoOp یض ت ف No Operation یثاضذ. اغ ة ت ظ سdebugوشد اص آ استفاد ی ض د. ىت ای داست و واستشد exten=>6123,1,verbose(2,the channel name is ${CHANNEL}) exten=>6123,n,verbose(2,the unique id is ${UNIQUEID}) verbose تیطتش است. ثا : Looping in the Dialplan ح م ا) LOOP (دس dial plan یسی تشای خ یشی اصتىشاسخغ ط تش ا سد استفاد لشاس ی یش ذ. [IteratingLoop] exten => start,1,verbose(2,looping through an action five times.) same =>n,set(x=1) same =>n,verbose(2,starting the loop) same =>n,while($[${x} <= 5]) same =>n,verbose(2,current value of X is: ${X}) same =>n,set(x=${inc(x)}) same =>n,endwhile() same =>n,verbose(2,end of the loop) دس ادا یه ivrآ سد ضذ است و ثا ی وا واتشدی اص چ ی واستشد دست سLoop دس آ آ سد ضذ است: [AutomaticAttendantDemo] exten => _X.,1,Answer ; Answer inbound calls with 2 or ; more digits extensions exten => _X.,n,Wait(2) ; Perform a simple 2 seconds delay exten => _X.,n,Playback(welcome) exten => _X.,n,Set(Loop=0) exten => _X.,n,While($[${Loop} < 3]) exten => _X.,n,Background(menu) exten => _X.,n,WaitExten(5) ; Wait 5 seconds for user to enter input exten => _X.,n,Set(Loop=$[${Loop}+1]) exten => _X.,n(LoopEnd),EndWhile()

exten => _X.,n,Hangup() ; No input from user, so hangup exten => 1,1,Playback(msg1) exten => 1,n,Dial(SIP/300,60,rg) exten => 1,n,Hangup() exten => 2,1,Playback(msg2) exten => 2,n,Dial(SIP/301,60,rg) exten => 2,n,Hangup() exten => 3,1,Playback(msg3) exten => 3,n,Dial(SIP/302,60,rg) exten => 3,n,Hangup() exten => 9,n,Hangup() exten => i,1,set(loop=$[${loop}+1]) exten =>i,n,goto(loopend) exten => t,1,set(loop=$[${loop}+1]) exten =>t,n,goto(loopend) Authenticating Callers احشاص یت ت اس یش ذ ا ی ت ا ذ ت ػ ا یىی اص یژ ی ای یه سیست ت ف ی حس ب ض د. Syntax ای application ت غ ست صیش ی تاضذ: Authenticate(password[ options]) ىت : اص یه ت ساد ت ػ ا پس سد استفاد اییذ. Authenticate(/passwordfile [ options]) استفاد اص واساوتش "/"تذی ؼ است و تش ا ی ت ا ذ آس ا ی سا ت ػ ا ا یه فای تپزیشد و ضا یستی اص پس سد ا تاضذ. Authenticate(/dbfamily/key d) ; ای پس سد ا ی ت ا ذدس database رخیش ی شدد. [Authentication] exten => start,1,verbose(2,simple Authenicate application example) same =>n,playback(silence/1) same =>n,authenticate(1234) دس ای دا سخ ای اغالح ضذ خ د ی تاضذ و مذاس maxdigits آ 4 است. دس تید ص ا ی و پس سد سا اسد ی اییذ

یاصی ت فطشد # ی تاضذ. [Authentication] exten => start,1,verbose(2,simple Authenicate application example) same =>n,playback(silence/1) same =>n,authenticate(1234,,4) ا ش فی ذ پس سد تا ػال ت (/ ( ضش ع ضذ تاضذ ا ی ت ا ی اص یه فای خاسخی ت ػ ا ثؼی اص پس سد ا استفاد ایی. [Authentication] exten => start,1,verbose(2,simple Authenicate application example) same =>n,playback(silence/1) same =>n,authenticate(/etc/asterisk/authenticate/passwd_list.txt) [Authentication] exten => start,1,verbose(2,simple Authenicate application example) same =>n,playback(silence/1) same =>n,authenticate(/authenticate/password,d) ا ی ت ا ی پس سد ایی سا و دس دیتاتیس استشیسه سد استفاد لشاس ی یش ذ اغالح دس دیتاتیس اسد ایی. Creating Call Limits Using Groups Originating a Call ت ػ ا یه admin ضایذ تشای ض ا ای س ا پیص آ ذ تاضذ و آیا ی ت ا تذ استفاد اص Softphone,ipphone,. ت اس تشلشاس وشد. ت ض ا ت عشق خت ف ی ت ا یذ ای واس سا ا دا د یذ. دس ادا ت اسائ چ ذ سا ح یپشداصی. تا استفاد اص chan_oss.so module دست سات صیش سا دس putty اخشا و یذ. [root@elastixopt]# asterisk -r elastix*cli> module load chan_oss.so == Parsing '/etc/asterisk/oss.conf': Found == Registered channel type 'Console' (OSS Console Channel Driver) Loaded chan_oss.so => (OSS Console Channel Driver) elastix*cli> console dial 100 elastix*cli> console transfer 103@from-internal

داخ ی 100 ض اس یشی ی ض د ت داخ ی 103 تػ ی ض د CLI استریسک تا استفاد اص channel originate و محیط *CLI>channel originate SIP/myphoneapplication Playback demo-congrats *CLI>channel originate SIP/myphoneextension 1234@DialplanContext Dial plan و محیط Originating a Call عشصاستفاد اصدست سorginateسادسdialplanتشسسی یى ی. ت د س ش ی ت ا اص ای دست س استفاد وشد. ت اس تی یه channel یه application خاظ originate ض د. originate<tech/data> application <appname> [appdata] )1 ثا ( exten => s,1,originate(sip/100,app,playback,welcome) دس ای ثا تؼذ اص تشلشای ت اس تا داخ ی 100 پیغا welcome تشای داخ ی playback یط د. 2( ت اس تی یه channel یه extension خاظ originate ض د. originate<tech/data> extension [<exten>@][<context>] ثا ( exten => s,1,originate(sip/100,exten,default,s,1) داخ ی 100 تcontrext,extension=s [default ] تا priority=1 سیشد ی ی ض د. [globals] PHONES_TO_PAGE=SIP/phoneA&SIP/phoneB&SIP/phoneC [paging] exten => 500,1,Answer() same =>n,record(/tmp/page.wav) same =>n,originate(local/pageplayback@paging,exten,paging,page,1) exten => page,1,answer() same =>n,page(${phones_to_page})

exten => pageplayback,1,answer() same => Playback(/tmp/page.wav) Call File استشیسه ی ت ا ذ ت و ه call ا file ت اس ا سا ت غ ست تش ا سیضی ضذ ستمی ت خاسج اص سیست ذایت و ذ. Call ا file تا پس ذ.call ضش ع ی ض د تشای اخشا ی تایست ت سیش var/spool/asterisk/outgoing ا تما داد ی ض ذ. استشیسه ش حظ ای سیش سا ا یت س ی و ذ دس غ ست خ د callfileآ سا اخشا یى ذ. Call ا file داسای پاسا تش ای ا ی ی تاض ذ و ت ت ضیح آ ی پشداصی. ای پاسا تشضثی ت پاسا تش() dial ت د ت ع سو ی ت د س ش اص orginiating استفاد ی ض د: تشای تشلشاسی یه ت اس استفاد ی ض د. Channel: <channel>.1 ت ظ س ای ى یه channel ت extension خ د دسdialplan استثاط داد ض د اص پاسا تش ای صیش استفاد ی و ی. Context: <context> Extension: <exten> Priority: <priority> Application:<application> Data: <data> 2. channel ستمی ت یه applications سیشد ی ی ض د. MaxRetries: <number> اوضی تؼذاد دفؼا ت تالش تشای تىشاس ض اس یشی دس غ ست ػذ تشلشاسی ت اس. ا ش ت اس ت ش د ی ی fail وا ا ا اضغا تاضذ... ض اس یشی دذدا ا دا ی یشد. ض د ثال RetryTime: <number> فاغ ص ا ی تی ش تالش تشحسة ثا ی است. ت ع س پیص فشؼ ای مذاس 300 ثا ی ی تاضذ. WaitTime: <number> ذت ص ا ا تظاس ا ض خ سد و تش حسة ثا ی ی تاضذ.ت غ ست پیص فشؼ ای ص ا 45 ثا ی ی تاضذ. Callerid: <callerid> ػثاست است اص وا ش آیذی استفاد ضذ تشای تشلشاسی ت اس Account: <account>

دس غ ست مذاسد ی ای پاسا تش دس خذ CDR ایص داد ی ض د. Setvar: <var=value> ا ىا ت ظی یه یا چ ذ channel variable سا ی د ذ. Archive: <yes no> ت ع س ؼ پس اص اخشا استشیسه callfile ا سا اص سیش ف ق پان یى ذ دس غ ستی و ای پاسا تش setض د دس سیش var/spool/asterisk/outgoing_done فای ای اخشا ضذ وپی ی ض د یه خظ و تیا ش ضؼیت ت اس ی تاضذ دس ا ت ای Callfile ا اضاف ی ض د و ت غ ست صیش ی تاضذ. Expired Completed Failed > Status: Note: move *.call to /var/spool/asterisk/outgoing/ 1.call Channel: SIP/100 or (Channel: Local/100@from-internal) Application: Playback Data: hello-world ثا ( 2.call Channel: DAHDI/g0/09372693697 MaxRetries: 0 RetryTime: 15 WaitTime: 15 Application: AGI Data: test.php 3.call Channel: SIP/218 Callerid: 99999999999 MaxRetries: 10 RetryTime: 5 WaitTime: 20 Context: pa-call-file Extension: 100 Add the following options to etc/asterisk/extension_custom.conf [pa-call-file] exten => 100,1,Answer() exten => 100,n,Wait(1) exten => 100,n,Playback(pa-message) exten => 100,n,Wait(1) exten => 100,n,Hangup()

سرویسCallback در استریسک تؼذ اص ض اس یشی یه داخ ی ا ش ض اس مػذ اضغا تاضذ ت اس یش ذ دس غ ست ت ای ی ت ا ذت اس سا callback و ذ. یؼ ی ت ع س ات اتیه تؼذ اص آصاد ضذ مػذ ت اس تشلشاس ض د.ت ای یژ ی completion فت ی ض د. Call Completion و ت ع سو ی خفف (CCSS) Call Completion Supplementary Services ی تاضذ ت ػ ا یه لاتی یت خذیذ دس 1.8 asterisk ؼشفی ضذ است دس آخشی ت صیغ freepbx ت ػ ا یه optionدس تؼشیف داخ ی سد استفاد لشاس ی یشد. yealink دس تؼضی اص ipphone ث completion فؼا وشد. ت ػ ا یه لات یت feature تؼشیف ضذ است ی ت ا آ سا ا ا ض ا یض ی ت ا یذ تا dialplan یسی ای لات یت سا فؼا و یذ. 1 (دس سیش etc/asterisk/sip_custom.conf تشای داخ ی 2 خظ صیش سا اضاف ی و ی. [100]... cc_agent_policy = generic cc_monitor_policy = generic [200]... cc_agent_policy = generic cc_monitor_policy = generic 2( ت ع س ثا دس context صیش دس غ ست اضغا ت د داخ ی 100 یا 200 یا ػذ پاسخ یی پس اص 20 ثا ی ت اس hangup ی ض د حا ی ت ا تشای دس خ است فؼا ساصی سش یس completion اص وذ 30* استفاد و ی. [phones] exten => 7101,1,Dial(SIP/100,20) exten => 7102,1,Dial(SIP/200,20)

exten => *30,1,CallCompletionRequest() same =>n,playback(callbackisactive ) ; ; Dial *31 to cancel a call completion request. ; exten => *31,1,CallCompletionCancel() same =>n,playback(callbackisdeactive ) email: heydari@cytco.net support@cytco.net